perm filename NOTICE[UP,DOC]5 blob
sn#016253 filedate 1972-12-12 generic text, type T, neo UTF8
00100 *25 Feb 1972 NOTICEs LES
00200
00300 This file, kept in NOTICE[UP,DOC], is intended to function as a
00400 computerized bulletin board. System programmers and CUSP file
00500 contributors are invited to disseminate information concerning new
00600 programs and system features by adding notices to this file. The
00700 format is arbitrary, except that the first line (and only the first
00800 line) should begin with a "*" and should contain three fields in the
00900 form
01000 *<date><TAB><subject><TAB><programmer initials>
01100 In the date field, the year, month and day may be given in any order
01200 and the year may be abbreviated to 2 digits, but the month must be
01300 given as 3 or more letters.
01400
01500 *23 Apr 1972 NEWS LES
01600 To get selective listings from the NOTICE file, say "R NEWS", which
01700 will respond with an asterisk and expect a query such as
01800 *March 15
01900 This asks for all notices posted since the ides of March. If the day
02000 is omitted, 1 is assumed; if the month is omitted, January is
02100 assumed; if the year is omitted (as above) the last instance is
02200 assumed.
02300
02400 *Nov<TAB>SAIL
02500 is an example of a more general kind if query. This asks for all
02600 notices since last November 1 that contain the string "SAIL"
02700 somewhere in the subject field, with any case differences ignored.
02800 The search could be made more specific by saying
02900 *NOV<TAB>SAIL<TAB>DCS
03000 which delivers only such notices written by Dan Swinehart.
03100
03200 If the query begins with a <TAB>, so that the date is omitted, then
03300 all dates will be accepted. Similarly, the Subject field may be
03400 omitted. A null query outputs the entire NOTICE file.
03500
03600 If you would like the output to be spooled, type "*" at the end of your
03700 query, e. g.
03800 *July 4, 1776 Sex*
03900 If you forget all this, type "?<return>" and this notice will appear
04000 magically.
04100
04200 *1 JAN 1972 DO RPH
04300 Manual is in DO.RPH[S,DOC].
04400
04500 *1 JAN 1972 DMAN REG
04600 Dectape manager (PDP-10 format) -- see DMAN.REG[S,DOC].
04700
04800 *1 JAN 1972 SPOOLER REG
04900 See SPOOL.DOC[S,DOC].
05000
05100 *1 JAN 1972 RSL SL WHAMS BAMS ETC JHS
05200 Service Level Reservation System -- see RSL[S,DOC]
05300
05400
05500 *1 JAN 1972 Keyboard Commands LES
05600 To get a summary of line editor and other Monitor commands, list
05700 KEY.LES[S,DOC).
05800
05900 *1 FEB 1972 INFO REM
06000
06100 To have access to the REM information system, type "RU I[S,REM]".
06200
06300 *1 Jan 1972 FINGER LES
06400
06500 To get a listing of the names of all users currently logged in and
06600 their locations, say "R FINGER".
06700
06800 *29 Feb 1972 "Sticky PPN's" (RPG, COMPILE) DCS
06900
07000 A PPN specification [P,PN] appearing before a file name in an
07100 RPG command string will be used for all subsequent files which
07200 do not specify a PPN explicitly. This default remains in effect
07300 until another "sticky PPN" is specified.
07400 As an example, if I am running under [AIL,DCS]:
07500
07600 COMPILE SAIL=HEAD+DB+[S,AIL]SAIL+SYM+PARSE+PROD[AIL,DCS]+EXPR
07700
07800 would write the output on [AIL,DCS], get HEAD,DB, and PROD from
07900 [AIL,DCS], and get SAIL, SYM, PARSE, and EXPR from [S,AIL].
08000
08100 *1 Jan 1972 SAIL Statement Counter Profile RES
08200
08300 To find out how to get SAIL to give you execution frequency data for
08400 pieces of your program, list NEWMAN[S,AIL].
08500
08600 *2 Mar 1972 CREF Default Listing Device DCS
08700
08800 The CREF default listing device has been changed from LPT to DSK.
08900 This change is not made in RPG mode (so that the CREF system
09000 command will still go directly to LPT).
09100
09200 *14 Mar 1972 TV "." and <esc>I Features DCS
09300
09400 Typing "⊗." (see TVED.DCS[UP,DOC] for notation) will cause the current
09500 page to become a permanent part of the file (like "W" in SOS). CANCEL
09600 will henceforth bring back this version, not the old one.
09700
09800 To interrupt a "FIND" search prematurely, type <esc>I. This replaces
09900 the "\<crlf>" method.
10000
10100 *23 Mar 1972 TV for III DCS
10200 The TV editor (though still officially unsupported) will now run on
10300 both Data-Disk and III. In fact, you can transfer (by detach/attach)
10400 from one to the other in mid-edit!
10500
10600 *30 APR 72 SEND RPH
10700 SEND NOW HAS THE FOLLOWING FORMATS:
10800
10900 SEND PN SEND TO ALL PN'S
11000 SEND * WRITE NOTICE.TXT
11100 SEND *,PN SAME AS SEND PN
11200 SEND P,* SEND TO ALL P'S
11300 SEND P,PN SEND TO SPECIFIC P,PN
11400 SEND *,* SAME AS SEND *
11500 A PN IS SOME PROGRAMMER NAME
11600 A P IS SOME PROJECT NAME
11700
11800 *30 APR 72 FAIL FW
11900 The double arrow character is no longer treated specially
12000 within the comment portion of a line. When not within a
12100 comment, it is equivalent to a carriage-return, line-feed
12200 pair. Now, within comments, it prints as itself.
12300
12400 *3 JUN 1972 RAID DCS
12500 A new version of RAID is on the system. Since it is compatible with
12600 both Data-Disc and III consoles, I have put it on SYS: as both
12700 RAID.REL and TVRAID.REL. Therefore /V, /1V, /H, /1H will all load
12800 the same program. Later, TVRAID will be phased out (of LOADER, RPG)
12900 and the numeric argument to H and V switches will be ignored.
13000 This version has been tested fairly carefully. But report any
13100 problems you have to DCS, anyway. The old files are saved as
13200 RAID.RLO and TVRAID.RLO on [CSP,SYS].
13300
13400 The following things have been changed:
13500 __ There are a few display changes; in particular, the arrow
13600 conventions of the Data-Disc RAID are now used everywhere.
13700 __ Byte mode input will be displayed in byte mode.
13800 __ Conditional breakpoints now work exactly as advertised.
13900 __ Symbol←Expr, Symbol:, and Symbol<ctrl>K now work properly.
14000 __ All opcodes work on input (incl. ANDCAM, ORCAB, etc.)
14100
14200 The following new features have been added:
14300 __ There are three new entries to the dispatch table preceding
14400 DDT (JOBDDT → DDT) -- see RAID.ON[S,DOC] for the meaning of
14500 this table. The three are:
14600 DDT-12: →$RPTCNT See below
14700 DDT-11: →$BGDDT First word of DDT
14800 DDT-10: →DDTEND Last word of DDT
14900
15000 __ This is "Version 1" of RAID. The version is henceforth stored
15100 in the leftmost 13 bits of JOBDDT. Since DDT and old RAID
15200 contain 0 here, you can tell which you have loaded. This is for
15300 the benefit of programs which use new features -- they can
15400 try alternate methods if the Version isn't high enough.
15500 __ If you insert a JSR $I in your program, you will effectively
15600 place a breakpoint at that location. You can proceed via <ctrl>P.
15700 DO NOT single-step or set a breakpoint on this instruction!
15800 $I is an INTERNAL symbol in RAID. There is a pointer to it at
15900 DDT-6.
16000 __ When you type <call>DDT<cr>, RAID will simulate a breakpoint at
16100 the address specified by JOBOPC. You can proceed with <ctrl>P.
16200 Do not expect this to work if you enter DDT before running anything,
16300 or if your program jumps to DDT (unless it stores a reasonable
16400 address in JOBOPC first).
16500 __ n<ctrl><meta>S, where n is a number, will execute instructions
16600 in multi-step mode, as it would if n were absent. However, no
16700 change will be made in the display until:
16800 1) n instructions have been executed (<ctrl>X'ed subr =1 instr.)
16900 2) RAID must pause to get instructions at a subroutine call.
17000 3) You interrupt the stepping by typing something, or a
17100 breakpoint is encountered.
17200 After you respond at a type (2) pause, again the display remains
17300 unchanged until one of the conditions occurs again. If you
17400 responded <ctrl>S or <ctrl>X to the pause, the count will be
17500 exhausted before the display changes again -- barring type (3)
17600 events. The remaining count, if any, is always available in
17700 $RPTCNT. This is useful for counting exact numbers of
17800 executions in a given routine, etc.
17900 __ Symbol<meta>K obliterates the Symbol. Unlike <ctrl>K, which
18000 simply eliminates typout of the symbol, this also makes it
18100 undefined for typein. If, for instance, you have two locations
18200 with the name NM1, do:
18300 NM2←NM1 Assigns a new name to one of them.
18400 NM1<meta>K Deletes this symbol completely.
18500 NM1; Reveals value of the other NM1. Now
18600 NM2 refers to the first.
18700 __ Macros:
18800 Address<ctrl>M<letter> defines <ctrl><meta><letter> as
18900 a macro. When the macro is invoked, Address (it can be just
19000 an address or a byte pointer value) will be put in $M-1 (see
19100 RAID.ON[S,DOC]. This has the effect of evaluating the string
19200 at Address before evaluating any more keyboard input -- expanding
19300 the macro. Be warned that many <ctrl><meta><letter> combinations
19400 already mean something -- use one you can do without (the macro
19500 takes precedence).
19600 *4 JUN 1972 NEW DISPLAY EDITOR SRS
19700
19800 there now exists a new display editor, called ED, available for
19900 experimentation. to run it, type
20000 RU ED[S,SRS]
20100 when it starts up, there will be some documentation on the screen.
20200 ED is presently experimental, and improving. Features
20300 include: editing several files at once, splitting screen between
20400 several files or strings, faster than TV in some cases.
20500
20600 *6 JUN 1972 PUB MANUAL TES
20700
20800 A new version of PUB was put up today with some obscure bugs fixed.
20900 Indexes and headings now work well. AFTER PAGE does not always
21000 work, but AFTER TEXT is usually equivalent and does work.
21100 If you must use old version, please tell me why! To use it, log in
21200 as 12,TES and RUN PUB.
21300
21400 There is a new manual: SPOOL PUB.TES[S,DOC]/N/B It is 80 PAGES long, so
21500 if you don't plan to use PUB for a few months, it is advisable to
21600 wait for the SAILON to be printed. The new manual has an index
21700 and a tutorial for beginners, plus appendices with (untested) examples.
21800 To use PUB for simple purposes, only a portion of the manual needs to be
21900 read.
22000
22100 *MAR 1972 LOGOUT REG
22200 Recent changes to logout command.
22300
22400 The logout command is used to terminate a job that was created
22500 by Login, Fork, or Cfork commands. The usual form of the command is
22600 K or KJOB, typed at monitor level, followed by a carriage return.
22700
22800 A new command is called KAT, which combines the features of the
22900 K command and the ATtach command. KAT requires the job number of the
23000 job to which you want to attach. As in the Attach command, if you
23100 are attaching to a job with a different PPN than the job you are leaving,
23200 you must supply the ppn of the job to which you are attaching.
23300
23400 Command Formats
23500 Note that curly backets { and } denote optional
23600 arguments; pointy brackets < and > denote a symbolic item which should
23700 be replaced by some concrete instantiation of that item.
23800
23900 K or KJOB command:
24000
24100 K{JOB}{/<switch list>}
24200
24300 KA{TTACH} <job number> {[<project name>,<programmer name>{]}}{/<switch list>}
24400
24500 Each command line is terminated by a carriage return.
24600
24700 The item <switch list> consists of any sequence of letters
24800 chosen from the list below:
24900 THIS LIST HAS BEEN OMITTED BECAUSE I FORGOT THEM ALL.
25000
25100 For further confusion, consult R. Gorin.
25200 *1969 DDT WFW
25300 The following changes have been made to DDT:
25400
25500 l. Halfword printout is now of the form A,,B instead
25600 of (A)B. Either form may be used on input. The difference
25700 is that A,,B truncates A to 18 bits before
25800 swapping halves while (A)B does not.
25900
26000 2. $U is a new output mode. It is the same as $A$H.
26100 3. $F mode will now print normalized floating permit
26200 numbers as decimal integers. This means that
26300 FORTRAN users may, in general, use $F to look at
26400 all variables and they will be printed correctly
26500 either fixed or floating.
26600
26700 4. If the address of a string of ASCIZ text is placed
26800 in $nB+3, then whenever breakpoint n is reached,
26900 DDT will act as if the characters in the string were
27000 being read from the teletype. If you are preparing
27100 such a string in advance use either $ or ≠ (≠33 octal)
27200 for altmode.
27300
27400 5. If a bytepointer to an asciz string is placed in
27500 $M-l, DDT will act as if the characters in the string
27600 are being read from the teletype.
27700
27800 6. $$7" <delimiter> characters <delimiter> will act just
27900 like an asciz statement in MACRO or FAIL,i.e.,
28000 more than one word will be filled with asciz for
28100 the characters if necessary. $$" will have a similar
28200 effect but with sixbit.
28300
28400 7. Typing <number>$$P will cause DDT to do an automatic
28500 proceed <number> times instead of forever.
28600
28700 8. When printing in $$ mode, no word will be printed
28800 out as an I/O instruction (COND, DATAO, CONI, etc.)
28900 unless the device number is in a special table. The
29000 table is 10 words long and is in $I-1, $I-2, etc.
29100 Simply put device number here to have the appropriate I/O
29200 instructions printed.
29300
29400 9. If an address is placed in $M-2 then for each character
29500 DDT wishes to output, a pushj 1,@$M-2 will be executed.
29600 This allows output to be redirected to some device
29700 other than the TTY. The character is in register 5. The
29800 routine should preserve all AC's and end with a POPJ l,.
29900
30000 10. In byte mode output ($<number>0), if a size of 0
30100 is specified, DDT will use a special mark in $M+2.
30200 The boundry between 1 and 0 bits specifies the size
30300 of the bytes. For example, a word containing
30400
30500 11111111111 00000000000 11100010110001
30600
30700 would print 2 . 11 bit bytes, 2 3 bit bytes, 2 1 bit
30800 bytes, a 2 bit bytes, a 3 bit byte, and a 1 bit byte.
30900
31000 11. Bytes may be input of $<number>%. This should be
31100 followed by a string of unsigned octal numbers
31200 separated by common and terminated by an altmode. The
31300 number of bytes in a word is not integal the last
31400 byte is treated as if the word were larger
31500 (bit number greater than 35). This makes input compatible
31600 with output. A size of O uses the mark in $M+2
31700 as above.
31800
31900 12. It is now possible to print flag words and T type
32000 instruction (TRUN, TLNN, etc.) with suitable names
32100 for the bit involved. In $M+3 a pointer of the following
32200 form is placed:
32300
32400 _______
32500 | |
32600 _______ | |
32700 $M+3 | L1 | T0 | | Table 0 |
32800 | |
32900 _______
33000
33100
33200 _______
33300 | |
33400 | Table 1 |
33500 | |
33600 _______
33700
33800 _______
33900 | |
34000 | Table 2 |
34100 | |
34200 _______
34300 As many tables as desired may be included. The pointer
34400 to the last table should have 0 in the left half. Each
34500 table contains 36 words. The nth word contains the
34600 RADIX50 for the name of bit n. $<number>J mode will
34700 cause a word to be printed out using the bit names in
34800 table number. If an entry for a bit in 0, the numeric
34900 value will be printed. A typical word might look like
35000
35100 foo! baz! 123,, fool! garp! 2
35200
35300 $J means $0J. $nL causes the left half to be
35400 printed in symbolic and the right half to be printed in
35500 ↑STODAT:
35600 bit mode, using the names of the bits as if they appeared
35700 in the left half. $<number>V prints the left half in symbolic
35800 and the right half in bit mode.
35900
36000 13. You can now transfer to what is pointed to by the left half
36100 of a word in the same manner as you transfer using <tab>.
36200 The command is <control>].
36300
36400 *FEB 1972 NEW WHO DCS
36500 As of 12-9-71:
36600
36700 1. WHO will run for about two minutes, then quit. You can reset
36800 this time by issuing commands (see below).
36900
37000 2. Typing <call> does not stop spacewar jobs. However, after about
37100 6 seconds of operation after a <call>, the spacewar portion of
37200 WHO will bomb out (PC EXCEEDS MEM BOUNDS AT 377777). This will
37300 be made cleaner if the system types give me some help.
37400
37500 3. WHO commands are now single-character commands. WHO will not wait
37600 for a carriage return before executing one.
37700
37800 4. Previously, many lines of the WHO page were lost below the bottom
37900 of the screen. WHO now provides a "windowing" feature. Type "↑"
38000 to move the text up, so that the line which did appear at the
38100 center of the screen now appears at the top. This reveals several
38200 new lines at the bottom. A digit preceding the "↑" serves as a
38300 repeat factor.
38400
38500 5. The "↓" command, with optional repeat factor, moves the text down
38600 by a half-screenful, unless the first line already is displayed.
38700
38800 6. The "E" command causes WHO to quit. However, the last-drawn screen
38900 will not be cleared. So you can look at it.
39000
39100 7. Any other character will cause WHO to clear the screen (revealing
39200 your old page printer), then quit.
39300 *14 June 1972 VIDEO SWITCH DOCUMENTATION LES
39400 A SAILON describing the video switch hardware resides in
39500 VDS.LES[S,DOC]. A description of keyboard commands and monitor calls
39600 for controlling the switch and DD channel allocation are described in
39700 VIDEO.LES[UP,DOC]. To get a summary of the keyboard commands, say
39800 "HELP DISPLAY" or "SPOOL KEY.LES[UP,DOC]".
39900
40000 *7 July 1972 DOCUMENTATION FILES LES
40100 Online documentation files are divided into several areas, as follows.
40200 [P,DOC] contains the compiled version of the lab phone
40300 directory and other lists of people.
40400 [UP,DOC] contains user program descriptions (informal).
40500 [S,DOC] contains SAILONs, which are more formal descriptions
40600 of programs and hardware.
40700 [AIM,DOC] contains A. I. Memos, which report research results.
40800 [BIB,DOC] contains bibliographies of films, theses, SAILONs, etc.
40900
41000 *23 JULY 1972 KLOG RHT
41100 The KLOG command allows you to switch areas in one line. Semantically
41200 it is LOGOUT, followed by LOGIN. The syntax is:
41300
41400 KLOG {/<logout switch>} {ppn spec (as you would type to LOGIN)}
41500
41600 examples
41700
41800 KLOG 1/RHT
41900
42000 KL/F 1|RHT
42100
42200 KL
42300 1,RHT
42400
42500 *24 Jul 1972 SAIL DCS,RHT,JRL
42600 LEAP news
42700
42800 1. In the past global model users of LEAP were required
42900 to have the statement:
43000
43100 REQUIRE -1 NEW_ITEMS;
43200
43300 in order to inhibit the allocation of various tables
43400 for the local leap model. This statement is no longer
43500 required. Instead the decision to allocate the tables
43600 will be made using the following criteria. The local model
43700 tables will be allocated only if any of the programs loaded
43800 together to form a single job contain any declared local
43900 items ( that is, any items declared without the attribute
44000 GLOBAL), or any of the programs contain the statement:
44100
44200 REQUIRE n NEW_ITEMS;
44300
44400 where "n" is greater that 0.
44500 NOTE: this means that all users of local model LEAP must now
44600 "require" new_items if they are going to dynamically create
44700 non-global items by using the function NEW.(previously an
44800 implicit REQUIRE 60 NEW_ITEMS was contained in every program).
44900
45000
45100 2. LEAP tables are now allocated as part of the SAIL initialization
45200 code rather than on the first call to any LEAP subroutine.
45300 The tables will be allocated if any of the SAIL programs
45400 loaded contain declared items, itemvars, sets, lists or calls
45500 to LEAP. This change was made so that datums of items could
45600 be utilized before the first call to LEAP.
45700
45800 3. The type codes for items have been altered. The new codes
45900 returned by the TYPEIT function are as follows:
46000
46100 0 - item deleted or never allocated
46200 1 - no type (no datum for this item)
46300 2 - item is bracketed triple
46400 3 - string
46500 4 - real
46600 5 - integer
46700 6 - set
46800 7 - list
46900 8 - procedure
47000 16 - string array
47100 17 - real array
47200 18 - integer array
47300 19 - set array
47400 20 - list array
47500 21 - invalid (runtime has screwed something up)
47600 The very astute user will notice that the only changes are to
47700 up the codes for arrays and invalid by 5.
47800
47900 IMPORTANT NOTE:This unfortunately will necesitate the recompilation
48000 and reloading of any programs which use array items as the RUNTIME
48100 routines also use these type codes.The standard
48200 compiler SAIL on [1,3] will have these changes as of 23:59 WED,
48300 jul26. Therefore if any of your programs use array items you should
48400 recompile them starting Thurs jul 27. Foist all complaints onto
48500 Jim Low.
48600
48700
48800 *25 Jul 1972 SPOOLER REG
48900 SPOOLER NEWS:
49000 The old spooler '*LIST*' has been removed from the system.
49100 Users of the spooling subroutines described in SPSUB.REG[UP,DOC] will
49200 have to reload with the new libraray.
49300
49400 The command SPOOLQ has been removed. Instead, use the command
49500 QSPOOL. This has the advantage that the command can be abbreviated
49600 to one letter and the SPOOL command to two letters.
49700
49800 A new SPOOL command is planned. This will allow users to more
49900 fully utilize features of the new spooler.
50000
50100 *1 Aug 1972 FORTRAN REG
50200 DEC FORTRAN version 25 and LIB40 version 31 have been put up.
50300 Some of the bugs in the compiler / operating system have been
50400 eliminated.
50500
50600 *9 Aug 1972 DATA DISK FW
50700 Two new features have been added to data disk DPYOUT:
50800
50900 1) Overlapped mode, enabled by bit 0 of header word 0.
51000 In this mode, a DPYOUT will return without waiting for
51100 the transfer to be completed (although it will wait
51200 for any previou transfer), enabling the program to
51300 continue running. Header+2 will be set nonzero during
51400 the transfer, and to zero after the transfer is complete,
51500 so testing this is convenient (which should be done before
51600 changing the buffer). A DPYOUT with a zero word count will
51700 wait for a previous transfer without initiating a new one.
51800
51900 2) Double field mode, useful for text output. This is enabled
52000 by bit 1 of header word 0 and will cause the buffer to be
52100 transferred twice, once on each field. Header+3 should specify
52200 the address of the line address command word, which should
52300 contain the low-order line address as the third command in
52400 the word. Bit 24 of this word will be set to the proper
52500 field on each transfer. This feature cannot be used if more
52600 than one low-order line address command is used.
52700
52800 *16 Aug 1972 AP NEWS (APE, HOT) ME
52900
53000 We have a line from the Associated Press (AP) over which we get
53100 national and international news. The news that comes in gets filed
53200 on the disk and saved for about 24 hours.
53300
53400 For use in reading the news, there are two programs on the system.
53500
53600 Type "R HOT" to have the news typed on your console as it comes in.
53700
53800 Type "R APE" to be able to selectively read the news that is on file.
53900 The stories are catagorized by keywords; to read the news, you type
54000 to APE whatever keywords you want to read about. To get help when
54100 you are running APE, type "?" and carriage return at any point. For a
54200 list of the keywords, TYPE the file WORDS.SRT[AP,SYS] or SPOOL the
54300 file WORDS.LST[AP,SYS].
54400
54500 For further information, see the file APE.ME[UP,DOC].
54600
54700
54800 *16 AUG 1972 SAIL MATRIX ROUTINES PACKAGE SHK
54900
55000 Following Matrix Routines Now Available:
55100
55200 1) Real Matrix Multiplication Routine
55300 Multiplies two n-dimensional matrices (2-dimensional arrays)
55400 (size m x n by n x p to get a m x p matrix)
55500 or multiplies a 1-dimensional matrix by an n-dimensional matrix
55600 or an n-dimensional matrix by a 1-dimensional.
55700 MATMUL(REAL ARRAY A[a:b,c:d],REAL ARRAY B[c:d,e:f],REAL ARRAY C[a:b,e:f]);
55800 multiplies A by B and places the result in C
55900 (MATMUL(A,B,A) and MATMUL(A,B,B) are also valid.)
56000 The only thing it won't do (I think) is multiply two 1-dimensional
56100 matrices or n-dimensional arrays (n>2).
56200
56300 2) Array Clear Routine
56400 MATCLR(REAL (or INTEGER) ARRAY A);
56500 Zeros the array A.
56600
56700 3) Real Array Multiplied by a Real Constant
56800 CONMUL(REAL ARRAY A,REAL B);
56900 Multiplies array A by constant B and places the result in A.
57000
57100 All three are available by saying REQUIRE "MATMUL[4,SHK]" LOAD_MODULE;
57200
57300
57400 *30 Aug 1972 UUO SHK
57500 There is now a numerical listing of the UUO's - UUO.SHK[S,DOC]
57600
57700 *4 Sept 1972 AP NEWS (APE, HOT) ME
57800 The AP news is now spooled once a day (at a somewhat random
57900 time). The listing, which will be kept in the conference
58000 room, will indicate a file name of "APNEWS[AP,SYS]".
58100
58200 *4 SEP 1972 FILDMP RPH
58300 New program to list files in different formats. See FILDMP.RPH on UP,DOC.
58400
58500 *4 SEP 1972 NEW SAIL RHT
58600 EFFECTIVE 1201 AM SAT, 26 AUG, A NEW SAIL SYSTEM WILL BE UP. ITS
58700 SEGMENT WILL BE SAISG4. THIS NEW SYSTEM WILL INCLUDE SEVERAL NEW
58800 FEATURES, INCLUDING USER REQUESTED INITIALIZATIONS, A LOCATION(X)
58900 FUNCTION, AN IMPLICIT ARRAY: MEMORY[0:MEMSIZE], THE RUDIMENTS OF
59000 MULTIPLE PROCESSES, AND MUCH MORE. WE WILL TRY TO HAVE SOME
59100 DOCUMENTATION READY BY THE LATTER PART OF THE WEEK.
59200 *22 SEP 1972 NEW SAIL RHT,JRL,KVL
59300 THE NEW SAIL SYSTEM IS UP. THERE ARE MANY NEW FEATURES INCLUDING
59400 MULTIPLE-PROCESSES WITHIN JOBS,EVENTS, A LIMITED FORM OF BACKTRACKING
59500 BETTER FOREACH STATEMENTS, BETTER ERROR RECOVERY ETC.
59600
59700 THE DOCUMENTATION FOR THE NEW FEATURES IS NOT YET AVAILABLE, BUT
59800 EXAMPLES OF THE GLORY OF NEW SAIL ARE CONTAINED IN PAPER.DOC[S,JRL]
59900 NEWFEA.TXT[S,JRL].
60000
60100 THE NEW SYSTEM USES SAISG4, LIBSA4, HLBSA4, AND FOR YOU GLOBAL
60200 MODEL HACKERS GLBS10.
60300
60400 NO SOURCE LANGUAGE INCOMPATIBILITIES ARE KNOWN, BUT OF COURSE
60500 ALL PROGRAMS LOADED TOGETHER SHOULD BE COMPILED WITH THE
60600 NEW COMPILER, AND OLD PROGRAMS SHOULD BE RECOMPILED BEFORE THEYY
60700 ARE RELOADED.
60800
60900
61000 OLD DUMP FILES SHOULD CONTINUE TO RUN FOR A WHILE UNTIL
61100 SAISG3 IS DELETED.
61200
61300 SEND COMPLAINTS AND BUGS TO S,AIL OR SEE JRL,KVL OR RHT
61400 A CURRENT LISTING WILL BE APPRECIATED. BETTER SERVICE
61500 WILL BE GIVEN IF YOU ARE ABLE TO TICKLE THE BUG IN A SMALL
61600 PROGRAM WITHOUT UNREADABLE MACROS.
61700
61800 FOR THE NEXT COUPLE DAYS WE WILL KEEP THE PREVIOUS COMPILER
61900 AROUND AS SAIL.921[1,3], SAILOW.REL AS SAILOW.921, AND
62000 GLBLOW.REL AS GLBLOW.921. IF YOU FEEL YOU ARE BEING
62100 SCREWED BY SOME TERRIBLE BUG, YOU CAN, FOR INSTANCE,
62200 SAY SOMETHING LIKE
62300
62400 R SAIL.921 <CR>
62500 * FOO←FOO <CR>
62600 * LOADER!
62700 * SAILOW.921[1,3],FOO <ALT>
62800
62900 WHERE THE STARS ARE TYPED BY THE SYSTEM
63000
63100 THIS WILL GIVE YOU THE EFFECT OF DOING
63200
63300 LOA /COM FOO
63400
63500 USING THE PREVIOUS SYSTEM.
63600
63700 *22 Sept 1972 Upper Segment RAID and DDT TVR
63800 RAID or DDT may be retrieved from the disk and run from an upper
63900 segment. This means your core image may contain RAID at a much lower
64000 cost (102 octal words instead of 12200 words for RAID). For details
64100 see DEBUG.DOC[1,TVR]
64200
64300 *22 Sept 1972 AP NEWS (APE) ME
64400 Multiple word keywords are now implemented in APE. To use them,
64500 separate the individual words with spaces in your keyword exressions.
64600
64700 Also, to have only the first few lines of each story you select
64800 typed out, type an "F" at the beginning of the story selection
64900 line ("Read which one(s)?"). If you use both "F" and "=" on
65000 the same line, the order is irrelevant. When you use the "F"
65100 feature, you cannot spool or save the stories in a file.
65200
65300 For details on using APE, see the file APE.ME[UP,DOC].
65400
65500 *12 Oct 1972 FAIL TVR
65600 FAIL has been changed to stop at each error and give the option to
65700 continue to next error, continue automatically or to edit. The edit
65800 option will call SOS if there are line numbers and TVED if not. Any
65900 complaints should be sent to TVR. If you don't want to stop at each
66000 error, give FAIL the switch (F). The old version is FAIL.OLD[1,3].
66100 *21 Oct 1972 SAIL JRL,RHT,KVL
66200 A new SAIL compiler has been put up to correct bugs reported in the
66300 last few weeks. There should be no incompatibitlies with the preceding
66400 compiler and programs compiled with the previous compiler should
66500 be runable with programs compiled with the new compiler. Thus, there
66600 is no need to recompile or even reload SAIL programs which have
66700 been compiled since SEPT 21. If you do have a program which
66800 compiled in the last month but doesn't now:
66900 1. REPORT THE PROBLEM TO A SAIL HACKER - or send
67000 a message to AIL, including such details as
67100 where a copy of the offending program is and the
67200 nature of the SAIL bug.
67300 2. You may use the previous compiler by
67400 R SAIL.102
67500 * FOO←FOO
67600 * <call>
67700 where FOO is the name of your sail program and <call>
67800 represents the typing of the CALL button (the stars are
67900 typed by the system). The above sequence is equivalent to
68000 the system level command:
68100
68200 COM /COM FOO
68300
68400 A note to users of multiple processes and matching procedures:
68500 To initialize the multiple process environment the user
68600 should include the following declaration:
68700
68800 EXTERNAL PROCEDURE MAINPR;
68900
69000 He should also make sure this procedure is called before
69100 doing any process sprouting or matching procedure calling.
69200 This is best done by using the REQUIRE INITIALIZATION feature
69300 or by making:
69400 MAINPR;
69500 The first executable statement of your program.
69600 This initialization will be compiled in, in the near future but until
69700 then the above hack is required.
69800 *3 Nov 1972 USER INTERRUPTS FW
69900 The PC stored on a memory protect interrupt via the new-style
70000 user interrupt system is now the exact PC stored by the hardware,
70100 rather than being incremented as it used to be. This is consistent
70200 both with the old-style (DEC) user interrupt system and with the
70300 "ILL MEM REF AT USER xxxxxx" typeout. If you really care about
70400 the exact value of this PC, consult me or the PDP-10 flowcharts,
70500 as it is anything but consistent.
70600 *3 Nov 1972 VIDEO SWITCH FW
70700 The VDSMAP UUO now allows the 6 extra switch channels to be
70800 addressed by setting bit 9 in the AC and putting the channel number
70900 (0-5) in the TTY# field (11-17).
71000
71100 *8 Nov 1972 DUMPS REG
71200 DART, a new program to back up disk files on tapes, is available.
71300 system commands DUMP, RESTORE, TLIST, REWIND, BACKSPACE, ADvANCE all
71400 run DART now, instead of DAEMON (CAUTION: new syntax in some cases).
71500 See DART.REG[UP,DOC].
71600
71700 *8 Nov 1972 PROTECTION REG
71800 The file access protection bit 400, which formerly had no
71900 signifigance, now means 'Dump Never' in DART. All files that had
72000 used this bit have been renamed without it.
72100
72200 *11 Nov 1972 SYSTEM REG
72300 The job table JOBQUE in the system now contains either the positive
72400 or negative value of the queue code of a job. Formerly, it had
72500 always been negative.
72600
72700 *26 Nov 1972 FTP DCS
72800 A new FTP has been installed with the following features:
72900
73000 1) You needn't type the MODE, TYPE, or BYTE commands at all
73100 unless you want to change the defaults of S, I, and 36 resp.
73200 Changing them is inadvisable since we only support those
73300 settings. The defaults will be to the foreign host just
73400 before the first data transfer.
73500
73600 2) RSTR clears any DATA connections that the FTP thinks it has
73700 open. Sometimes it's wrong. If you get an indication from
73800 FTP that a command is illegal because the DATA connection already
73900 exists, do this command. It will go away when hacks in FTP
74000 have been cured.
74100
74200 3) QUOT sends the rest of the line directly over the net, so you
74300 can use it to execute other peoples commands which are either
74400 nonstandard or just unsupported here. This won't do any good
74500 if our end has to be involved in the operation, but it is good
74600 to do things like STAT (status), and HELP at CMU.
74700 See FTP.DCS[UP,DOC] for "complete" information about our FTP,
74800 and NIC document 10596 for complete FTP protocol description.
74900
75000 *26 Nov 1972 MLISP2 DAV
75100 A new version of MLISP2 has been put on the system. An old version
75200 exists and will be around for one week. The main motivation for
75300 the changes was to fix several serious bugs,
75400 and to clean the language up prior to publishing a manual.
75500 Changes:
75600 (1) Variable names can no longer be literals (e.g. IF, FOR, ...).
75700 (2) <IDEXP>, <ADDEDEXPR> have been subsumed by <EXPRESSION>.
75800 (3) SPECIAL variables now must be declared at translation (PARSE)
75900 time. To facilitate this, a new production has been added,
76000 having the form: SPECIAL <identifier_list>
76100 It is strongly suggested that all SPECIAL variables be
76200 declared at the top of the program using this production.
76300 (4) ?# in the syntax (to inhibit scanning) should now be just #.
76400 It no longer takes up a syntax position.
76500 (5) Setting variables in backtracking contexts is now done with
76600 real LISP numbers (formerly machine representation).
76700 A function CONTEXT() gets the current backtracking
76800 context. X{CONTEXT()/10 + 3} ← etc. is now legal.
76900 (6) THE FOLLOWING CHANGE IS TEMPORARY; WILL BE FIXED IN A DAY OR 2:
77000 (*) Prefixes are more restricted in use; the syntax is
77100 <PREFIX> <SIMPEX> as always, but IF, FOR, CASE, etc.
77200 are no longer <SIMPEX>'s but are now full <EXPRESSION>'s.
77300 Thus RETURN IF ..., PRINT CASE ..., etc. no longer work;
77400 use RETURN(IF ..., PRINT(CASE ..., etc.
77500 (7) The syntax of SELECT has been changed. Use SUCCESSOR instead
77600 of NEXT, and FINALLY instead of IN WHICH CASE.
77700 E.g. SELECT CAR(L) FROM L:'(A B C) SUCCESSOR CDR(L)
77800 UNLESS NULL(L) FINALLY FAILURE()
77900 (8) MLISP2.PRI now prints as it goes along, instead of at the end.
78000
78100 *3 Dec 1972 SAIL RHT
78200 A new SAIL system will be put up at 2359 Thursday, 7 Dec 1972
78300 This system will include
78400 (1) Leap revisions by JRL. This means that any programs
78500 that use LEAP should be recompiled.
78600 (2) User required initializations will take place as
78700 the first executable statement of the main
78800 program (after outer block arrays have been
78900 initialized). Programs that are loaded
79000 with any .REL files which have user initializations
79100 should have their main programs recompiled.
79200 (3) Hooks into the user interrupt system have been provided.
79300 Those interested should see Russ Taylor.
79400 (4) A new kind of declaration has been provided:
79500 CLEANUP proc1,proc2,proc3;
79600 Where proc1, etc. are names of (parameterless)
79700 procedures. The effect of a CLEANUP declaration
79800 is to cause the named procedures to be called
79900 whenever the block in which it occurs is exited,
80000 whether by falling through the end, doing a go_to,
80100 or by any other means. These procedures will be
80200 called before any local arrays, sets, or lists are
80300 released. The calls will take place in the order
80400 specified. Thus:
80500
80600 BEGIN
80700 INTEGER I;
80800 PROCEDURE FOO;I←1;
80900 BEGIN
81000 INTEGER ARRAY X[0:I];
81100 PROCEDURE BAZ;OUTSTR(CVS(X[I]);
81200 CLEANUP FOO,BAZ;
81300 :
81400 COMMENT NOW WHEN THIS BLOCK IS EXITED, X[1] WILL
81500 BE PRINTED OUT;
81600
81700 :
81800 END;
81900 END;
82000
82100 (5) various minor modifications to the process stuff.
82200
82300 The new segment is SAISG5.SEG, the libraries are LIBSA5.REL
82400 & HLBSA5.REL.
82500
82600 The old compiler will be SAIL.D07[1,3]
82700
82800 *12 Dec 72 AP NEWS (APE) ME
82900 There is now a full search feature in APE. If you type in a word
83000 that is not in the keyword dictionary, APE will tell you so and ask
83100 you if you wish a "Full search?". If you type Y, the news file will
83200 be searched for the specified keyword. If you type ?, a (complete)
83300 summary of this feature will be typed out (try it!). If you type
83400 anything else, no search will be done. You may interrupt a search in
83500 progress by typing any character. (That means you may not type ahead
83600 during a search.)
83700
83800 Note: Every word not in the dictionary causes a separate search to
83900 take place and will require you to say Y to "Full search?".
84000
84100 Special note: Normally the whole news file is searched, taking 8 to
84200 10 seconds, but if a non-keyword is the second part of an
84300 intersection (eg, NIXON * JJ), then only the necessary stories are
84400 searched.
84500
84600 *12 DEC 72 PUB TES
84700 PUBMAC.DFS[1,3] has been edited to correct an error in INDEX creation.
84800 The old version is PUBMAC.OLD[1,3] for a few weeks.
84900
85000 The PUB manual has been deleted from the disk. The abstract remains
85100 on PUB.TES[S,DOC]. Bound copies are in the SAILON file drawer.
85200
85300 In January, a new-SAIL PUB should be up with several obscure but
85400 annoying bugs removed. Major restrictions and bugs now known:
85500 SEND INDEX ⊂ ... ⊃ must be all on one line
85600 See {PAGE X} must be followed by a non-word-break
85700 such as ) , ; ] .
85800 but definitely not a SPACE
85900 NARROW, WIDEN, VARIABLE only work within a block -- not at top-level.
86000 TURN OFF "}" inside blocks doesn't always work right (just for "}")
86100 ↓_abc_abc_abc_↓ seems not to work right in FILL mode someplaces.
86200 Footnotes hack a lot, esp. if the page fills up during one.
86300